식별자 규칙
기초 개념 / 식별자 규칙
1.1 식별자 규칙
Mathit 파서는 변수 이름의 첫 글자 대소문자를 보고 해당 데이터가 시각적 형태를 가진 기하 객체인지, 수치 계산에 쓰이는 스칼라 값인지 즉시 판별합니다. 이 규칙은 단순한 코딩 스타일 권장 사항이 아니라 문법 오류를 결정하는 강제 규약입니다.
대문자 식별자
알파벳 대문자로 시작하는 이름은 화면에 그려질 수 있는 형태를 가진 기하학적 객체에만 사용합니다. 점, 선분, 원, 다각형, 베지에 곡선, 3D 입체 등이 모두 여기에 해당합니다.
A = (1, 2)
P1 = (3, 5)
Circ = circle(center=A, r=2)
Poly = poly(A--B--C)
BaseLine = line(A--B)
대문자로 선언된 객체는 고유한 기하학적 좌표 정보를 가지며, -- 연결 연산자를 통해 다른 점과 이어지거나 poly:, line: 같은 렌더링 지시어의 대상이 될 수 있습니다. 만약 점의 좌표를 정의하면서 소문자로 시작하면, 파서는 이를 화면에 렌더링 가능한 점 객체로 등록하지 않습니다.
소문자 식별자
알파벳 소문자로 시작하는 이름은 크기와 수치 값만 가진 스칼라, 파라미터, 수학 함수에 사용합니다.
r = 3.5
len = 10
alpha = 45deg
f(x) = x^2 - 2*x + 1
g(t) = 2*cos(t)
소문자로 정의된 식별자는 다른 계산식의 파라미터로 대입되거나 기하 함수의 인자로 전달될 수는 있지만, 그 자체로 선을 연결하거나 꼭짓점 라벨을 달 수는 없습니다.
잘못된 식별자 사용 사례
식별자 규칙을 어겼을 때 발생하는 문제들을 확인합니다.
첫 번째는 점을 소문자로 선언하는 경우입니다.
// 잘못된 코드
p = (2, 3)
q = (5, 3)
line: p--q
위 코드는 오류를 일으킵니다. p와 q는 소문자로 시작하여 단순 2차원 수치 순서쌍으로 파싱되었기 때문에, 기하 연결 연산자 --를 사용할 수 없습니다. 반드시 P, Q와 같이 대문자로 선언해야 합니다.
두 번째는 수치 변수를 대문자로 선언하는 경우입니다.
// 잘못된 코드
Radius = 5
C = circle(center=(0,0), r=Radius)
수치 변수를 대문자로 시작하면 파서의 기하 객체 테이블에 등록을 시도하다가 좌표 데이터가 없는 스칼라 값이 들어와 경고가 발생하거나 타입 불일치 에러를 냅니다. 반지름, 각도, 길이와 같은 수치 파라미터는 radius = 5처럼 반드시 소문자로 시작해야 합니다.
이름 표기 규칙
식별자에는 알파벳, 숫자, 밑줄(_)을 조합하여 사용할 수 있습니다. 단, 숫자로 이름을 시작할 수는 없습니다.
올바른 표기: P1, Point_A, Circ_sub, len_x, theta_1
잘못된 표기: 1P, 2_Point, my-len (하이픈은 뺄셈 연산자로 처리됨)